diff --git a/system/libraries/Router.php b/system/libraries/Router.php
index 32de58d..bc46da4 100644
--- a/system/libraries/Router.php
+++ b/system/libraries/Router.php
@@ -97,18 +97,22 @@
 			{
 				show_error("Unable to determine what should be displayed. A default route has not been specified in the routing file.");
 			}
-
-			// Turn the default route into an array.  We explode it in the event that
-			// the controller is located in a subfolder
-			$segments = $this->_validate_request(explode('/', $this->default_controller));
-
-			// Set the class and method
-			$this->set_class($segments[0]);
-			$this->set_method('index');
 			
-			// Assign the segments to the URI class
-			$this->uri->rsegments = $segments;
-			
+			if (strpos($this->default_controller, '/') !== FALSE)
+			{
+				$x = explode('/', $this->default_controller);
+
+				$this->set_class(end($x));
+				$this->set_method('index');
+				$this->_set_request($x);
+			}
+			else
+			{
+				$this->set_class($this->default_controller);
+				$this->set_method('index');
+				$this->_set_request(array($this->default_controller, 'index'));
+			}
+
 			// re-index the routed segments array so it starts with 1 rather than 0
 			$this->uri->_reindex_segments();
 			
@@ -144,7 +148,7 @@
 	 * @return	void
 	 */
 	function _set_request($segments = array())
-	{	
+	{
 		$segments = $this->_validate_request($segments);
 		
 		if (count($segments) == 0)
